#pragma once



#include <string>
#include <sstream>
#include "../SQLExprImpl.h"
#include "../statement/SQLSelect.h"

class SQLASTVisitor;

class SQLAnyExpr : virtual public SQLExprImpl {

	public:
		SQLSelect_ptr subQuery;

		SQLAnyExpr();
		virtual ~SQLAnyExpr();

		SQLAnyExpr(SQLSelect_ptr select);
  SHAREDOBJECT(SQLAnyExpr);

		SQLSelect_ptr getSubQuery();

		void setSubQuery(SQLSelect_ptr subQuery);

		void output(std::stringstream *  buf);
		//int hashCode();
		//BOOL_ptr equals(Object obj);

	protected:
		void accept0(SQLASTVisitor_ptr visitor);

};


